class AuditoriasController < ApplicationController
  before_filter :load_itens

  def busca
  end

  def processar_busca
    objeto_id = Transporte.find_by_ndt(params[:busca][:objeto_id]) unless params[:busca][:objeto_id].blank?
    respond_to do |format|
      if objeto_id || params[:busca][:objeto_id].blank?
        @auditoria = Audit.find(:all,
          :include => :mudancas,
          :conditions => Where{|w|
            w.and "user_id = ?", params[:busca][:usuario_id] unless params[:busca][:usuario_id].blank?
            w.and "operacao = ?", params[:busca][:operacao] unless params[:busca][:operacao].blank?
            w.and "mudancas.antes LIKE ?", "#{params[:busca][:antes]}%" unless params[:busca][:antes].blank?
            w.and "mudancas.depois LIKE ?", "#{params[:busca][:depois]}%" unless params[:busca][:depois].blank?
            w.and "objeto_id = ?", objeto_id.id unless objeto_id.blank?
          }
        )
        if @auditoria.blank?
          flash[:error] = "Nenhum registro encontrado."
          format.html {render :partial => 'processar_busca', :layout => true}
        else
          flash[:notice] = "Buscar realizada com sucesso."
          format.html {render :partial => 'processar_busca', :layout => true}
        end
      else
        flash[:error] = "Transporte não encontrado tente outro NDT."
        format.html {render :partial => 'processar_busca', :layout => true}
      end
    end
  end

  def load_itens
    @usuarios = User.find(:all).collect {|u| [u.login, u.id]}
    @operacoes = [["Inserir","insert"],["Apagar","delete"],["Atualizar","update"]]
  end

  #  User.find(:all, :conditions => Where{|w|
  #    w.and "first_name like ?", "#{first_name}%" if params[:first_name]
  #    w.and "last_name like ?", "#{last_name}%" if params[:last_name]
  #  }

end
